home *** CD-ROM | disk | FTP | other *** search
- package ui
- {
- import copy.CopyBank;
- import flash.display.MovieClip;
- import flash.events.*;
- import flash.net.URLLoader;
- import flash.net.URLRequest;
- import flash.net.URLRequestMethod;
- import flash.net.URLVariables;
-
- [Embed(source="/_assets/assets.swf", symbol="ui.Leaderboard")]
- public class Leaderboard extends Section
- {
-
-
- private var _pageIndex:Number = 0;
-
- public var _doneButton:MovieClip;
-
- public var _right:MovieClip;
-
- public var _scoreField:MovieClip;
-
- public var _row02:MovieClip;
-
- public var _row04:MovieClip;
-
- public var _row01:MovieClip;
-
- public var _row08:MovieClip;
-
- public var _leaderboardCopy:MovieClip;
-
- public var _row03:MovieClip;
-
- public var _row07:MovieClip;
-
- public var _row09:MovieClip;
-
- public var _row06:MovieClip;
-
- public var _row05:MovieClip;
-
- public var _row10:MovieClip;
-
- public var _rankField:MovieClip;
-
- public var _nameField:MovieClip;
-
- private var _entryList:Array;
-
- private var _rows:Array;
-
- private var _scoreData:XML;
-
- public var _left:MovieClip;
-
- public function Leaderboard()
- {
- _pageIndex = 0;
- super();
- addEventListener("enterFrame",onLeaderboardEnterFrame);
- _rows = [_row01,_row02,_row03,_row04,_row05,_row06,_row07,_row08,_row09,_row10];
- _left.visible = false;
- _left.addEventListener(MouseEvent.CLICK,onLeft);
- _right.addEventListener(MouseEvent.CLICK,onRight);
- }
-
- private function onReadError(e:ErrorEvent) : *
- {
- trace(e.type + ": " + e.text);
- }
-
- private function setScoresDisplay() : *
- {
- var i:* = undefined;
- var j:Number = NaN;
- var k:Number = NaN;
- var fieldPieces:Array = null;
- var finalScore:String = null;
- var d:Number = NaN;
- if(_pageIndex >= 4)
- {
- _pageIndex = 4;
- _right.visible = false;
- }
- if(_pageIndex <= 0)
- {
- _pageIndex = 0;
- _left.visible = false;
- }
- for(i = 0; i < 10; i++)
- {
- j = i + _pageIndex * 10;
- if(_entryList[j])
- {
- _rows[i]._nameField.text = _entryList[j].Name.substr(0,3).toUpperCase();
- fieldPieces = _entryList[j].Score.split("");
- fieldPieces.reverse();
- finalScore = "";
- for(k = 0; k < fieldPieces.length; k++)
- {
- finalScore = fieldPieces[k] + finalScore;
- d = k % 3;
- if(k < fieldPieces.length - 1)
- {
- if(d == 2)
- {
- finalScore = "," + finalScore;
- }
- }
- }
- _rows[i]._scoreField.text = finalScore;
- _rows[i]._rankField.text = String(j + 1);
- _rows[i].visible = true;
- }
- else
- {
- _rows[i].visible = false;
- }
- }
- }
-
- private function onParseError(e:TypeError) : *
- {
- trace(e.toString());
- }
-
- private function onRight(event:*) : *
- {
- _left.visible = true;
- ++_pageIndex;
- setScoresDisplay();
- }
-
- private function onLeaderboardEnterFrame(event:*) : *
- {
- super.onSectionEnterFrame();
- }
-
- private function parseXML() : void
- {
- var i:int = 0;
- var hsr:MovieClip = null;
- var scoreList:XMLList = null;
- var entry:* = undefined;
- _entryList = new Array();
- scoreList = _scoreData.entry;
- for each(entry in scoreList)
- {
- _entryList.push({
- "Name":entry.@pname.toString(),
- "Score":entry.@score.toString()
- });
- }
- setScoresDisplay();
- }
-
- private function onLeft(event:*) : *
- {
- _right.visible = true;
- --_pageIndex;
- setScoresDisplay();
- }
-
- public function initCopy() : *
- {
- _leaderboardCopy._tHolder._copy.text = CopyBank.Instance.LEADERBOARD;
- _rankField._tHolder._copy.text = CopyBank.Instance.RANK;
- _nameField._tHolder._copy.text = CopyBank.Instance.NAME;
- _scoreField._tHolder._copy.text = CopyBank.Instance.SCORE;
- }
-
- private function onXMLLoad(e:Event) : *
- {
- try
- {
- _scoreData = new XML(URLLoader(e.target).data);
- trace("scores loaded");
- }
- catch(e:TypeError)
- {
- onParseError(e);
- }
- parseXML();
- }
-
- public function loadScores() : *
- {
- var loader:URLLoader = null;
- var u:URLRequest = null;
- var vars:URLVariables = null;
- var nocache:uint = 0;
- _pageIndex = 0;
- trace("load scores");
- loader = new URLLoader();
- loader.addEventListener(Event.COMPLETE,onXMLLoad);
- loader.addEventListener(IOErrorEvent.IO_ERROR,onReadError);
- loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,onReadError);
- u = new URLRequest("http://stats.soap.com.au/highscore/highscoreXML.php");
- nocache = uint(Math.random() * uint.MAX_VALUE);
- vars = new URLVariables();
- vars["gameid"] = 36;
- vars["start"] = 0;
- vars["count"] = 101;
- vars["nocache"] = nocache.toString(36);
- u.method = URLRequestMethod.GET;
- u.data = vars;
- loader.load(u);
- }
- }
- }
-